<!DOCTYPE HTML><html lang="en">
<HEAD>

<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2007. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

<META charset="utf-8">

<LINK REL="STYLESHEET" HREF="../book.css" TYPE="text/css">
<TITLE>Launch configuration dialog</TITLE>

<link rel="stylesheet" type="text/css" HREF="../book.css">
</HEAD>
<BODY>
<h3>Launch Configuration Dialog</h3>
<p>Launch configurations can most easily be visualized by looking at their
corresponding UI. Users interact with a launch configuration dialog to
create instances of the different types of launch configurations that have been
contributed by plug-ins. Each type of launch configuration defines a group
of tabs that collect and display information about the configuration. The
tab group for running a local Java application is shown below.</p>
<p><img src="images/lcd.png" alt="Launch configuration dialog with contributed tab groups" style="border:0"></p>
<p>The tabs are contributed using the <a href="../reference/extension-points/org_eclipse_debug_ui_launchConfigurationTabGroups.html"><b>org.eclipse.debug.ui.launchConfigurationTabGroups</b></a>
extension point. In this extension, the id of a configuration type (defined using
<a href="../reference/extension-points/org_eclipse_debug_core_launchConfigurationTypes.html"><b>org.eclipse.debug.core.launchConfigurationTypes</b></a>)
is associated with the class that implements <a href="../reference/api/org/eclipse/debug/ui/ILaunchConfigurationTabGroup.html"><b>ILaunchConfigurationTabGroup</b></a>.</p>
<p>It's possible that a some tab groups are only appropriate when launching the configuration in a particular mode.  If this is the case, then
one or more <b>mode</b> elements can be specified along with the class.  For each mode, the tab group can be given a unique description. 
If no mode is specified, then the tab group will be shown on all modes that
do not have a mode-specific tab group contribution.  The Java application tab group is defined for run and debug modes:</p>
<pre>
   &lt;extension
         point="org.eclipse.debug.ui.launchConfigurationTabGroups"&gt;
      &lt;launchConfigurationTabGroup
            type="org.eclipse.jdt.launching.localJavaApplication"
            helpContextId="org.eclipse.jdt.debug.ui.launchConfigHelpContext.local_java_application"
            class="org.eclipse.jdt.internal.debug.ui.launcher.LocalJavaApplicationTabGroup"
            id="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.localJavaApplication"
            bannerImage="icons/full/wizban/java_app_wiz.png"&gt;
            &lt;launchMode 
                  mode="debug"
                  perspective="org.eclipse.debug.ui.DebugPerspective"
                  description="%localJavaApplicationTabGroupDescription.debug"&gt;
            &lt;/launchMode&gt;
            &lt;launchMode
                  mode="run"
                  description="%localJavaApplicationTabGroupDescription.run"&gt;
            &lt;/launchMode&gt;
      &lt;/launchConfigurationTabGroup&gt;
      ...
</pre>
<p>Note that a perspective may also be specified with a mode.  This will cause the platform to switch to the specified perspective when
the program is launched in that mode.</p>
<p>Your tab group class is responsible for creating the necessary tabs and
displaying and saving the relevant data from the launch configuration
attributes. A tab that is common to all configurations, <a href="../reference/api/org/eclipse/debug/ui/CommonTab.html"><b>CommonTab</b></a>,
is already implemented and can be created by any configuration. This tab
manages the saving of the launch configuration as well as collecting common
preferences.</p>
<p><img src="images/common_tab.png" alt="Launch configuration tabs" style="border:0"></p>

</BODY>
</HTML>
